A portable desktop allows a user to utilize the hardware of a host computer system and thus provides a portable computing environment. A portable desktop may be physically embodied in portable storage media and more often is embodied in a portable device which includes processing hardware, storage, and input/output (I/O) hardware for communication with the host system and/or authentication by a user. The portable computing environment, hereinafter referred to as the portable desktop, is portable in the sense that any changes made to data files, software, settings, user preferences, or any other configuration or aspect of that computing environment made during a session on the host computer system, which are intended to be permanent, are stored in the portable device such that the portable desktop has continuity across multiple sessions. The appearance, functionality, content and/or configuration of the portable desktop should also be independent of any changes made to any particular host computer system as well as be independent of the particular host computer system used for any session. Portability, therefore, depends upon the ability of the portable desktop device to function with as many different host computer systems as possible independent of the software, operating system (O/S), or particular hardware possessed by the host computer system.
Depending upon the use of the portable desktop device, different considerations become more or less important in its configuration and capability. Individual users who use their portable desktop for functionality and data which are not sensitive nor give rise to security concerns will be more interested in broad compatibility with multiple systems at the expense of security. In the case of portable desktop devices which are deployed amongst members of an organization and if the functionality and/or data to be possessed by the portable desktop devices is particularly sensitive and/or must meet certain security protocols, it may be preferable that the portable desktop device be secure at the expense of compatibility with multiple systems.
Considerations for both portability and security are important in determining how a portable desktop device is to function with the hardware environment of its host computer system. Known approaches in addressing the needs of individuals and organizations utilizing portable desktop devices have merely offered a range of options falling within a portability versus security spectrum consistent with the idea that in order to have one of portability or security one must do so at the expense of the other.
One known approach falling at the security end of the spectrum limits the portable desktop device to function on identical systems only. The portable desktop device is configured such that it will only function with a host computer system having a computer configuration identical to a particular pre-defined computer configuration. This approach allows an administrator of an organization possessing sensitive data and/or programs to control exactly what kind of systems the portable desktop device will work with. Such an approach may also use some sort of system authentication to determine in addition to a kind of computer configuration, the identity of the host computer system in order to prevent the portable desktop device from functioning on any system which is not within the control of the administrator. This approach would be recommended for defense or law enforcement organizations. Unfortunately, although control and security are maintained, this renders the portable desktop device extremely limited in its portability.
Another known approach closer to the portability end of the spectrum restricts operation of hardware devices on the host computer system such that only standard devices may operate in the hardware environment supporting the portable desktop device during operation. According to such an approach, the portable desktop O/S loads standard configuration and drivers and only devices supporting these are operable and only in accordance with the standard functions of those devices. In this approach, although the portable desktop device would generally be portable across computer systems having standard driver compatible hardware, security risks associated with the operation of the hardware devices depend upon the security of the hardware devices themselves and the standard drivers being used therewith. The functionality and usefulness of the portable desktop will also be inherently limited to the standard functionality supported by the standard drivers and as such, any specialized hardware will be limited to rudimentary functioning or may not function at all.
Another known approach leaves both considerations of portability and security to the user by allowing a local operating system of the host computer system to execute the portable desktop. The security of the portable desktop is then only as secure as the local operating system its hardware and device drivers, rendering the portable desktop unsuitable for any applications requiring more security than the host computer system. As such a user of this kind of portable desktop device must know the security level of the local operating system and hardware and drivers of the host computer system or must be prepared to take the risk of using the portable desktop device in an unknown host computer system.
It would be advantageous for there to be a method or system for portable desktops that enhances portability and/or security and overcomes some limitations of known portable desktop approaches.